import 'package:get/get.dart';

/// GPS运动记录状态
class ExerciseRecordingState {
  /// GPS信号强度 (0-5)
  RxInt gpsSignalStrength = 0.obs;
  
  /// 是否正在记录
  RxBool isRecording = false.obs;
  
  /// 是否已暂停
  RxBool isPaused = false.obs;
  
  /// 是否已锁定
  RxBool isLocked = false.obs;
  
  /// 戒指是否已连接
  RxBool isRingConnected = true.obs; // 默认已连接
  
  /// 运动时长（秒）
  RxInt duration = 0.obs;
  
  /// 运动距离（米）
  RxDouble distance = 0.0.obs;
  
  /// 当前速度 (km/h)
  RxDouble currentSpeed = 0.0.obs;
  
  /// 平均速度 (km/h)
  RxDouble averageSpeed = 0.0.obs;
  
  /// 消耗卡路里
  RxInt calories = 0.obs;
  
  /// 步数
  RxInt steps = 0.obs;
  
  /// 当前位置
  RxDouble latitude = 0.0.obs;
  RxDouble longitude = 0.0.obs;
  
  /// 运动目标设置
  RxInt targetDistance = 5000.obs; // 目标距离（米）
  RxInt targetDuration = 1800.obs; // 目标时长（秒）
  RxInt targetCalories = 300.obs; // 目标卡路里
  
  /// 是否GPS信号良好
  bool get isGpsSignalGood => gpsSignalStrength.value >= 3;
  
  /// 是否可以开始记录
  bool get canStartRecording => isGpsSignalGood && isRingConnected.value;
}
